package entity;

import java.io.Serializable;
import java.util.List;

import javax.persistence.*;

/**
 * @version 1.0
 * @created 20-oct-2012 01:54:38 p.m.
 * @author JDL TODO: Ver el tema de la lista de Productos. O llegamos por medio
 *         del deposito, o le metemos una lista de productos y modificamos el
 *         DC.
 */
@Entity
@Table(name = "Areas")
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name = "tipo", discriminatorType= DiscriminatorType.STRING)
@org.hibernate.annotations.ForceDiscriminator
@Embeddable
public class AreaBD implements Serializable {

	private static final long serialVersionUID = 1L;

	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	private Integer idArea;

	private String nombre;
	
//	private String tipo;

	@Embedded
	@OneToOne(cascade = CascadeType.ALL)
	private DepositoBD idDeposito;
//
//	@Embedded
//	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
//	// JDL:Por lo que vi, anda igual si no le ponemos el LAZY
//	private List<ComandaBD> comandas;
	public AreaBD(){
		
	}
	
	public Integer getIdArea() {
		return idArea;
	}

	public void setIdArea(Integer idArea) {
		this.idArea = idArea;
	}

//	public List<ComandaBD> getComandas() {
//		return comandas;
//	}
//
//	public void setComandas(List<ComandaBD> comandas) {
//		this.comandas = comandas;
//	}

	public static long getSerialVersionUID() {
		return serialVersionUID;
	}

	public DepositoBD getIdDeposito() {
		return idDeposito;
	}

	public void setIdDeposito(DepositoBD idDeposito) {
		this.idDeposito = idDeposito;
	}

	public String getNombre() {
		return nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

//	public String getTipo() {
//		return tipo;
//	}
//
//	public void setTipo(String tipo) {
//		this.tipo = tipo;
//	}

}